package cn.asiontang.utils;

import android.app.Application;
import android.content.Context;
import android.util.DisplayMetrics;

import java.lang.ref.WeakReference;

public final class ScreenUtils
{
    private static Context mContext;

    private static WeakReference<DisplayMetrics> mDisplayMetrics;

    public static final DisplayMetrics getDisplayMetrics()
    {
        if (mDisplayMetrics == null || mDisplayMetrics.get() == null)
            mDisplayMetrics = new WeakReference<DisplayMetrics>(mContext.getResources().getDisplayMetrics());
        return mDisplayMetrics.get();
    }

    public static final int getHeightPixels()
    {
        return getDisplayMetrics().heightPixels;
    }

    public static final int getWidthPixels()
    {
        return getDisplayMetrics().widthPixels;
    }

    /**
     * 一般在自定义Application中的onCreate里初始化<br/>
     * 【不能在Application的构造函数里调用！】<br/>
     * 因为此时应用的String资源尚未初始化完毕，会报Null异常！
     */
    public static void init(final Application app)
    {
        mContext = app;
    }
}
